home *** CD-ROM | disk | FTP | other *** search
/ Picture from Mir / Picture from Mir.iso / MLISTBOX.TXT < prev    next >
Text File  |  1992-02-17  |  10KB  |  300 lines

  1.                                 MLISTBOX.VBX
  2.  
  3. MLISTBOX.VBX is a custom control for Microsoft Visual Basic which provides
  4. support for extended- and multiple-selection listboxes as well as the
  5. standard single-selection listboxes that are built into Visual Basic.
  6.  
  7. This product is (pseudo) shareware.  Information on distribution rights is
  8. provided at the end of this file.
  9.  
  10. I welcome any comments, criticisms, suggestions, etc.  I can be reached
  11. via e-mail at:
  12.  
  13.         warninm@prism.cs.orst.edu
  14.  
  15. Mike Warning
  16. 2/16/91
  17.  
  18.  
  19.                           HOW TO USE CUSTOM CONTROLS
  20.  
  21. For those of you unfamiliar with using custom controls in Visual Basic, it is
  22. really easy.  First, copy the file ending with .VBX to your windows
  23. directory.  The start up Visual Basic and select 'Add File...' from the 
  24. 'File' menu.  Locate the custom control file (.VBX file) that you wish to
  25. use and select it, then click 'OK'.  The icon representing the custom control
  26. should appear in the toolbox window and may be used just like any of the
  27. standard controls.  If you then save your project, the custom control will
  28. be reloaded automatically the next time you open your project.
  29.  
  30.  
  31.                                   REFERENCE
  32.  
  33. Since I have made every effort to preserve the functionality of the original
  34. single-selection listbox in my version, I will only address those properties
  35. that are new or that I have expanded.  For information on the standard
  36. properties not covered here, refer to the Visual Basic documentation.
  37.  
  38. Note that when I refer to 'multiple-selection listboxes' below, I really
  39. mean 'multiple- or extended-selection listboxes'.
  40.  
  41.  
  42. Empty -
  43.     When reading this property, a TRUE will be returned if the listbox is    
  44.     empty, otherwise a FALSE will be returned.  Writing any value to this
  45.     property will force the listbox to reset, discarding any items that
  46.     it contains.
  47.  
  48.     Example:
  49.         ...
  50.         mlistbox1.Empty = TRUE          ' Clear listbox
  51.         ...
  52.  
  53.  
  54. FindString -
  55.     This property is used to find strings in a listbox.  When this property
  56.     is set, the 'FindIndex' property may then be checked to find the index
  57.     of the first string in the listbox matching the FindString.  After
  58.     a string is found, this property will reset to the value of the string
  59.     in the listbox.
  60.  
  61.     FindString will reset to null ("") if there is no string in the listbox
  62.     matching the value that you gave it.
  63.  
  64.     Example:                            
  65.         ...
  66.         mlistbox1.FindString = "J"      ' Find an item beginning with "J"
  67.         If mlistbox1.FindString = "John" Then
  68.         ...
  69.  
  70.     See Also:
  71.         FindIndex
  72.  
  73.  
  74. FindIndex -
  75.     This property hold the index of the string found using FindString.  It
  76.     will be set to -1 if there is no matching string.
  77.  
  78.     Example:
  79.         ...
  80.         mlistbox1.FindString = "J"      ' Find an item beginning with "J"
  81.         If mlistbox1.FindIndex = -1 then        ' There isn't any
  82.         ...
  83.  
  84.     See Also:
  85.         FindString
  86.  
  87.  
  88. hWnd -
  89.     This property is the window handle associated with the listbox and is
  90.     exactly like the 'hWnd' property that forms have.  This function is
  91.     useful when a window handle must be passed to a Windows API function
  92.     or other DLL function.
  93.  
  94.     Example:
  95.         ...
  96.         word = GetWindowWord(mlistbox1.hWnd, GWW_ID)
  97.         ...
  98.  
  99.  
  100. ItemData -
  101.     This property associates a long-integer value with an item in the 
  102.     listbox.  For example, if you have a listbox containing names, you could
  103.     put there ages (or whatever) in the ItemData for a particular item.
  104.  
  105.     This property is similar to the standard 'Tag' property, except that
  106.     it is numeric, and each item in the control can have it's own data.
  107.  
  108.     Example:
  109.         ...
  110.         mlistbox.ItemData(3) = 34
  111.         ...
  112.  
  113.  
  114. ListIndex -
  115.     For single-selection listboxes, ListIndex returns the index of the 
  116.     currently selected item.  For multiple-selection listboxes, ListIndex
  117.     returns the index of the last item that the user clicked on, the
  118.     'Selected' property may then be used to find out if that item is 
  119.     currently selected or not.
  120.  
  121.     If there is no current selection, single-selection listboxes will
  122.     return -1.  If no selection has ever been made, multiple-selection
  123.     listboxes will return 0.
  124.  
  125.     NOTE:  The Windows SDK says that this should not work for multiple-
  126.     selection listboxes; however, it seems to work fine under Windows 3.0.
  127.     Therefore, I cannot guarantee that this property will work correctly
  128.     for multiple-selection listboxes under future versions of Windows.
  129.  
  130.     Example:
  131.         ...
  132.         If mlistbox1.ListIndex = -1 then     
  133.         ...
  134.  
  135.  
  136. SelCount -
  137.     Returns the number of selected items in the listbox.
  138.  
  139.     Example:
  140.         ...
  141.         For i=1 to mlistbox1.SelCount - 1
  142.         ...
  143.  
  144.     See Also:
  145.         SelCount, Selected
  146.  
  147.  
  148. Selected -
  149.     When read, this property returns a TRUE if the item is selected, 
  150.     otherwise a FALSE is returned.
  151.  
  152.     When writing, this property may be used to select (or deselect) an
  153.     item in the listbox.  For single-selection listboxes, if another item
  154.     is currently selected, the selection will change to a new item.  Also,
  155.     an item cannot be deselected in a single-selection listbox using this
  156.     property (use ListIndex instead).
  157.  
  158.     Example:
  159.         ...
  160.         for i=0 to mlistbox1.SelCount - 1
  161.             mlistbox1.Selected =  TRUE          ' select every item
  162.         next
  163.         ...
  164.  
  165.     See Also:
  166.         SelCount, SelList, ListIndex
  167.  
  168.  
  169. SelList -
  170.     The property is an array that contains the indexes of the currently
  171.     selected items in the listbox.  The first selected item is SelList(0), 
  172.     etc.
  173.  
  174.     Example:
  175.         ...
  176.         For i=0 to mlistbox1.SelCount - 1
  177.             if mlistbox1.list(mlistbox1.SelList(i)) = "John" then
  178.         ...
  179.  
  180.     See Also:
  181.         SelCount, Selected
  182.  
  183.  
  184. Style -
  185.     This property sets the style of the listbox (single-, extended-, or
  186.     multiple-selection).
  187.  
  188.     Style = 0: single-selection.  This type of listbox may only have one
  189.                item selected at a time.
  190.     Style = 1: extended-selection.  This type of listbox may have more than
  191.                one item selected.  The user must hold down the 'CTRL' or
  192.                'SHIFT' keys while clicking the mouse to select more than
  193.                one item
  194.     Style = 2: multiple-selection.  This type of listbox may have more than
  195.                one item selected.  The user does not need to hold down any
  196.                keys while selecting items.
  197.  
  198.     You should probably set the Style property at design time.  While you
  199.     may change the Style at run-time, doing so clears out the contents of
  200.     the listbox.
  201.  
  202.     Example:
  203.         CONST EXTENDED_SELECTION = 1
  204.         ...
  205.         mlistbox1.Style = EXTENDED_SELECTION
  206.         ...
  207.  
  208.  
  209. Text -
  210.     For single-selection listboxes, Text returns the currently selected item
  211.     in the listbox.  For multiple-selection listboxes the item that was most
  212.     recently clicked is returned, you can then use the 'Selected', and 
  213.     'ListIndex' properties to determine if the item is selected or not.
  214.  
  215.     NOTE:  The Windows SDK says that this should not work for multiple-
  216.     selection listboxes; however, it seems to work fine under Windows 3.0.
  217.     Therefore, I cannot guarantee that this property will work correctly
  218.     for multiple-selection listboxes under future versions of Windows.
  219.  
  220.     Example: 
  221.         ...
  222.         if (mlistbox1.text = "John") then
  223.         ...
  224.  
  225.     See Also:
  226.         ListIndex, Selected
  227.  
  228.  
  229. TopIndex -
  230.     Sets the index of the item that is at the top of the listbox.   If you
  231.     try to set the top index to an item number less than 0, the listbox
  232.     will start from item 0.  If you try to use an index that is to high
  233.     the listbox will not change.
  234.  
  235.     Example:
  236.         ...
  237.         mlistbox1.TopIndex = mlistbox1.TopIndex + 1     ' Scroll by one line
  238.         ...
  239.  
  240.  
  241.